[2203] Implement Total Exception Handling #2211
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a high-level error handler for critical errors that are not properly handled inside of EDMC. This handles elements that can lead to the program crashing on startup and includes errors where the program may look like it's not working at all.
This improves the user's experience and also encourages users to report errors to us on GitHub so that we can discover and fix errors more often - or at least direct the user on how to fix the error. Also includes the relevant translation information.
Additionally, simplifies the "An EDMarketConnector process was already running" popup to utilize tkinter.messagebox elements, which significantly reduces the amount of overhead needed to show the prompt and also makes the prompt more clear that it is an error.
Example Images
Type of change
How Tested
Tested with both built and source versions of EDMC, with both intentionally broken and known working builds to generate errors.
Notes
Relies upon #2209 for the updated translation system. Until that PR is merged in, this will appear with a larger diff than it really has.
Resolves #2203